package com.dlc.shop.bean.model;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;

import java.io.Serializable;
import java.util.Date;

/**
 * 频道关联表
 * @author TRACK
 */
@TableName("tz_im_channel")
@Schema(description = "频道关联表")
public class ImChannel implements Serializable {
    private static final long serialVersionUID = 1L;

    @TableId
    @Schema(description = "频道id")
    private String channelId;
    @Schema(description = "店铺id")
    private Long shopId;
    @Schema(description = "用户id")
    private String userId;
    @Schema(description = "白名单中管理员id")
    private Long employeeId;
    @Schema(description = "订阅者id列表")
    private String subscribers;
    @Schema(description = "用户最终已读消息序号")
    private Long userReadSeq;
    @Schema(description = "商家/平台最终已读消息序号")
    private Long shopReadSeq;
    @Schema(description = "商家/平台最后一条是否为自动回复信息 0否1是")
    private Integer sendAutoReply;
    @Schema(description = "商家/平台人工回复时间")
    private Date personReplyTime;

    public ImChannel() {
    }

    public ImChannel(String channelId, Long shopId, String userId, Long employeeId) {
        this.channelId = channelId;
        this.shopId = shopId;
        this.userId = userId;
        this.employeeId = employeeId;
    }

    public String getChannelId() {
        return channelId;
    }

    public void setChannelId(String channelId) {
        this.channelId = channelId;
    }

    public Long getShopId() {
        return shopId;
    }

    public void setShopId(Long shopId) {
        this.shopId = shopId;
    }

    public String getUserId() {
        return userId;
    }

    public void setUserId(String userId) {
        this.userId = userId;
    }

    public Long getEmployeeId() {
        return employeeId;
    }

    public void setEmployeeId(Long employeeId) {
        this.employeeId = employeeId;
    }

    public String getSubscribers() {
        return subscribers;
    }

    public void setSubscribers(String subscribers) {
        this.subscribers = subscribers;
    }

    public Long getUserReadSeq() {
        return userReadSeq;
    }

    public void setUserReadSeq(Long userReadSeq) {
        this.userReadSeq = userReadSeq;
    }

    public Long getShopReadSeq() {
        return shopReadSeq;
    }

    public void setShopReadSeq(Long shopReadSeq) {
        this.shopReadSeq = shopReadSeq;
    }

    public Integer getSendAutoReply() {
        return sendAutoReply;
    }

    public void setSendAutoReply(Integer sendAutoReply) {
        this.sendAutoReply = sendAutoReply;
    }

    public Date getPersonReplyTime() {
        return personReplyTime;
    }

    public void setPersonReplyTime(Date personReplyTime) {
        this.personReplyTime = personReplyTime;
    }

    @Override
    public String toString() {
        return "ImChannel{" +
                "channelId='" + channelId + '\'' +
                ", shopId=" + shopId +
                ", userId='" + userId + '\'' +
                ", employeeId=" + employeeId +
                ", subscribers='" + subscribers + '\'' +
                ", userReadSeq=" + userReadSeq +
                ", shopReadSeq=" + shopReadSeq +
                ", sendAutoReply=" + sendAutoReply +
                ", personReplyTime=" + personReplyTime +
                '}';
    }
}
